#ifndef __BASIC_SOCKET
#define __BASIC_SOCKET
#include <iostream>
enum 
{
    SOCKET_ERROR = 1,
    BIND_ERROR,
    SETSOCK_ERROR
};
class basic_socket
{
private:
    virtual void CreateSocket() = 0;
    virtual void BindSocket() = 0;
    virtual void SetListenSocket() = 0;

public:
    void CreateTCPServer()
    {
        CreateSocket();
        BindSocket();
        SetListenSocket();
    }
};

#endif